export class Ddapi {
  
    //钉钉签名设置
    config(cfg) {
      DingTalkPC.config(cfg);
    }
  
    //钉钉容器设置
    // ready() {
    //     return new Promise(function (resolve) {
    //         DingTalkPC.ready(function () {
    //             resolve();
    //         });
    //     })
    // }
  
    //免登er
  
    requestAuthCode(corpId) {
      return new Promise(function (resolve) {
        DingTalkPC.runtime.permission.requestAuthCode({
          corpId: corpId, //企业ID
          onSuccess: function (result) {
            resolve(result.code)
  
          },
          onFail: function (err) {
            console.log(1)
          }
        })
      })
    }
  
  
    error() {
      return new Promise(function (resolve) {
        DingTalkPC.error(function (error) {
          resolve(error)
        })
      })
    }
    toast(text, icon = '', duration = 2, delay = 0) {
      DingTalkPC.device.notification.toast({
        type: icon, //toast的类型 alert, success, error, warning, information, confirm
        text: text, //提示信息
        duration: duration, //显示持续时间，单位秒，最短2秒，最长5秒
        delay: 0, //延迟显示，单位秒，默认0, 最大限制为10
        onSuccess: function (result) {
          /*{}*/
        },
        onFail: function (err) {}
      })
    }
    scrollLoad() {
      return new Promise(function (resolve) {
        document.getElementById("CloudBody").onscroll = function () {
          if (this.scrollTop < 2) {
            resolve(0)
          }
          if (this.scrollTop > 2) {
            dd.ui.pullToRefresh.disable()
          }
          if (this.scrollHeight - this.scrollTop - this.offsetHeight < 2) {
            resolve(1)
          }
        }
      })
    }
    // 调用通讯录选人
    contactChoose(userid) {
      return new Promise(function (reslove, reject) {
        DingTalkPC.biz.contact.choose({
          multiple: false, //是否多选： true多选 false单选； 默认true
          users: userid, //默认选中的用户列表，员工userid；成功回调中应包含该信息
          corpId: localStorage.getItem('corpId'), //localStorage.getItem("corpId"), //企业id
          max: 1500, //人数限制，当multiple为true才生效，可选范围1-1500
          onSuccess: function (data) {
            reslove(data);
          },
          onFail: function (err) {
            console.log(err);
          }
        });
      })
    }
    // 调用通讯录选人
    chooseUserOne() {
      return new Promise(function (reslove, reject) {
        DingTalkPC.biz.contact.choose({
          multiple: true, //是否多选： true多选 false单选； 默认true
          users: [], //默认选中的用户列表，员工userid；成功回调中应包含该信息
          corpId: localStorage.getItem('corpId'), //localStorage.getItem("corpId"), //企业id
          max: 1, //人数限制，当multiple为true才生效，可选范围1-1500
          onSuccess: function (data) {
            reslove(data);
          },
          onFail: function (err) {
            console.log(err);
          }
        });
      })
    }
    //调用ding提醒
    post(userid) {
      return new Promise(function (reslove, reject) {
        DingTalkPC.biz.ding.post({
          users: userid, //用户列表，userid
          corpId: localStorage.getItem('corpId'), //localStorage.getItem("corpId"), //企业id
          type: 2, //钉类型 1：image  2：link
          alertType: 2,
          alertDate: {
            "format": "yyyy-MM-dd HH:mm",
            "value": "2015-05-09 08:00"
          },
          attachment: {
            title: '', //附件的标题
            url: '', //附件点击后跳转url
            image: '', //附件显示时的图片 【可选】
            text: '' //附件显示时的消息体 【可选】
          },
          text: '', //消息体
          onSuccess: function (data) {
            reslove(data);
          },
          onFail: function (err) {
            console.log(err)
          }
        })
      })
    }
  }
  
  let ddapi = new Ddapi();
  export default ddapi;
  